home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / man / cat.1 / perlmod.1 < prev    next >
Text File  |  1995-07-25  |  26KB  |  595 lines

  1.  
  2.  
  3.  
  4.      PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))  UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000))))  PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           perlmod - Perl modules (packages)
  10.  
  11.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.           PPPPaaaacccckkkkaaaaggggeeeessss
  13.  
  14.           Perl provides a mechanism for alternate namespaces to
  15.           protect packages from stomping on each others variables.  By
  16.           default, a Perl script starts compiling into the package
  17.           known as main.  You can switch namespaces using the package
  18.           declaration.  The scope of the package declaration is from
  19.           the declaration itself to the end of the enclosing block
  20.           (the same scope as the _l_o_c_a_l() operator).  Typically it
  21.           would be the first declaration in a file to be included by
  22.           the require operator.  You can switch into a package in more
  23.           than one place; it merely influences which symbol table is
  24.           used by the compiler for the rest of that block.  You can
  25.           refer to variables and filehandles in other packages by
  26.           prefixing the identifier with the package name and a double
  27.           colon: $Package::Variable.  If the package name is null, the
  28.           main package as assumed.  That is, $::sail is equivalent to
  29.           $main::sail.
  30.  
  31.           (The old package delimiter was a single quote, but double
  32.           colon is now the preferred delimiter, in part because it's
  33.           more readable to humans, and in part because it's more
  34.           readable to eeeemmmmaaaaccccssss macros.  It also makes C++ programmers
  35.           feel like they know what's going on.)
  36.  
  37.           Packages may be nested inside other packages:
  38.           $OUTER::INNER::var.  This implies nothing about the order of
  39.           name lookups, however.  All symbols are either local to the
  40.           current package, or must be fully qualified from the outer
  41.           package name down.  For instance, there is nowhere within
  42.           package OUTER that $INNER::var refers to $OUTER::INNER::var.
  43.           It would treat package INNER as a totally separate global
  44.           package.
  45.  
  46.           Only identifiers starting with letters (or underscore) are
  47.           stored in a package's symbol table.  All other symbols are
  48.           kept in package main.  In addition, the identifiers STDIN,
  49.           STDOUT, STDERR, ARGV, ARGVOUT, ENV, INC and SIG are forced
  50.           to be in package main, even when used for other purposes
  51.           than their built-in one.  Note also that, if you have a
  52.           package called m, s or y, then you can't use the qualified
  53.           form of an identifier since it will be interpreted instead
  54.           as a pattern match, a substitution, or a translation.
  55.  
  56.           (Variables beginning with underscore used to be forced into
  57.           package main, but we decided it was more useful for package
  58.           writers to be able to use leading underscore to indicate
  59.           private variables and method names.)
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 6/30/95)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))  UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000))))  PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))
  71.  
  72.  
  73.  
  74.           _E_v_a_l()ed strings are compiled in the package in which the
  75.           _e_v_a_l() was compiled.  (Assignments to $SIG{}, however,
  76.           assume the signal handler specified is in the C<main.
  77.           package.  Qualify the signal handler name if you wish to
  78.           have a signal handler in a package.)  For an example,
  79.           examine _p_e_r_l_d_b._p_l in the Perl library.  It initially
  80.           switches to the DB package so that the debugger doesn't
  81.           interfere with variables in the script you are trying to
  82.           debug.  At various points, however, it temporarily switches
  83.           back to the main package to evaluate various expressions in
  84.           the context of the main package (or wherever you came from).
  85.           See the _p_e_r_l_d_e_b_u_g manpage.
  86.  
  87.           SSSSyyyymmmmbbbboooollll TTTTaaaabbbblllleeeessss
  88.  
  89.           The symbol table for a package happens to be stored in the
  90.           associative array of that name appended with two colons.
  91.           The main symbol table's name is thus %main::, or %:: for
  92.           short.  Likewise the nested package mentioned earlier is
  93.           named %OUTER::INNER::.
  94.  
  95.           The value in each entry of the associative array is what you
  96.           are referring to when you use the *name notation.  In fact,
  97.           the following have the same effect, though the first is more
  98.           efficient because it does the symbol table lookups at
  99.           compile time:
  100.  
  101.               local(*main::foo) = *main::bar; local($main::{'foo'}) =
  102.               $main::{'bar'};
  103.  
  104.           You can use this to print out all the variables in a
  105.           package, for instance.  Here is _d_u_m_p_v_a_r._p_l from the Perl
  106.           library:
  107.  
  108.              package dumpvar;
  109.              sub main::dumpvar {
  110.                  ($package) = @_;
  111.                  local(*stab) = eval("*${package}::");
  112.                  while (($key,$val) = each(%stab)) {
  113.                      local(*entry) = $val;
  114.                      if (defined $entry) {
  115.                          print "\$$key = '$entry'\n";
  116.                      }
  117.  
  118.                      if (defined @entry) {
  119.                          print "\@$key = (\n";
  120.                          foreach $num ($[ .. $#entry) {
  121.                              print "  $num\t'",$entry[$num],"'\n";
  122.                          }
  123.                          print ")\n";
  124.                      }
  125.  
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 6/30/95)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))  UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000))))  PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))
  137.  
  138.  
  139.  
  140.                      if ($key ne "${package}::" && defined %entry) {
  141.                          print "\%$key = (\n";
  142.                          foreach $key (sort keys(%entry)) {
  143.                              print "  $key\t'",$entry{$key},"'\n";
  144.                          }
  145.                          print ")\n";
  146.                      }
  147.                  }
  148.              }
  149.  
  150.           Note that even though the subroutine is compiled in package
  151.           dumpvar, the name of the subroutine is qualified so that its
  152.           name is inserted into package main.
  153.  
  154.           Assignment to a symbol table entry performs an aliasing
  155.           operation, i.e.,
  156.  
  157.               *dick = *richard;
  158.  
  159.           causes variables, subroutines and filehandles accessible via
  160.           the identifier richard to also be accessible via the symbol
  161.           dick.  If you only want to alias a particular variable or
  162.           subroutine, you can assign a reference instead:
  163.  
  164.               *dick = \$richard;
  165.  
  166.           makes $richard and $dick the same variable, but leaves
  167.           @richard and @dick as separate arrays.  Tricky, eh?
  168.  
  169.           PPPPaaaacccckkkkaaaaggggeeee CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrrssss aaaannnndddd DDDDeeeessssttttrrrruuuuccccttttoooorrrrssss
  170.  
  171.           There are two special subroutine definitions that function
  172.           as package constructors and destructors.  These are the
  173.           BEGIN and END routines.  The sub is optional for these
  174.           routines.
  175.  
  176.           A BEGIN subroutine is executed as soon as possible, that is,
  177.           the moment it is completely defined, even before the rest of
  178.           the containing file is parsed.  You may have multiple BEGIN
  179.           blocks within a file--they will execute in order of
  180.           definition.  Because a BEGIN block executes immediately, it
  181.           can pull in definitions of subroutines and such from other
  182.           files in time to be visible to the rest of the file.
  183.  
  184.           An END subroutine is executed as late as possible, that is,
  185.           when the interpreter is being exited, even if it is exiting
  186.           as a result of a _d_i_e() function.  (But not if it's is being
  187.           blown out of the water by a signal--you have to trap that
  188.           yourself (if you can).)  You may have multiple END blocks
  189.           within a file--they wil execute in reverse order of
  190.           definition; that is: last in, first out (LIFO).
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 6/30/95)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))  UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000))))  PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))
  203.  
  204.  
  205.  
  206.           Note that when you use the ----nnnn and ----pppp switches to Perl, BEGIN
  207.           and END work just as they do in aaaawwwwkkkk, as a degenerate case.
  208.  
  209.           PPPPeeeerrrrllll CCCCllllaaaasssssssseeeessss
  210.  
  211.           There is no special class syntax in Perl 5, but a package
  212.           may function as a class if it provides subroutines that
  213.           function as methods.  Such a package may also derive some of
  214.           its methods from another class package by listing the other
  215.           package name in its @ISA array.  For more on this, see the
  216.           _p_e_r_l_o_b_j manpage.
  217.  
  218.           PPPPeeeerrrrllll MMMMoooodddduuuulllleeeessss
  219.  
  220.           In Perl 5, the notion of packages has been extended into the
  221.           notion of modules.  A module is a package that is defined in
  222.           a library file of the same name, and is designed to be
  223.           reusable.  It may do this by providing a mechanism for
  224.           exporting some of its symbols into the symbol table of any
  225.           package using it.  Or it may function as a class definition
  226.           and make its semantics available implicitly through method
  227.           calls on the class and its objects, without explicit
  228.           exportation of any symbols.  Or it can do a little of both.
  229.  
  230.           Perl modules are included by saying
  231.  
  232.               use Module;
  233.  
  234.           or
  235.  
  236.               use Module LIST;
  237.  
  238.           This is exactly equivalent to
  239.  
  240.               BEGIN { require "Module.pm"; import Module; }
  241.  
  242.           or
  243.  
  244.               BEGIN { require "Module.pm"; import Module LIST; }
  245.  
  246.           All Perl module files have the extension ._p_m.  use assumes
  247.           this so that you don't have to spell out "_M_o_d_u_l_e._p_m" in
  248.           quotes.  This also helps to differentiate new modules from
  249.           old ._p_l and ._p_h files.  Module names are also capitalized
  250.           unless they're functioning as pragmas, "Pragmas" are in
  251.           effect compiler directives, and are sometimes called
  252.           "pragmatic modules" (or even "pragmata" if you're a
  253.           classicist).
  254.  
  255.           Because the use statement implies a BEGIN block, the
  256.           importation of semantics happens at the moment the use
  257.           statement is compiled, before the rest of the file is
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 6/30/95)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))  UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000))))  PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))
  269.  
  270.  
  271.  
  272.           compiled.  This is how it is able to function as a pragma
  273.           mechanism, and also how modules are able to declare
  274.           subroutines that are then visible as list operators for the
  275.           rest of the current file.  This will not work if you use
  276.           require instead of use.  Therefore, if you're planning on
  277.           the module altering your namespace, use use; otherwise, use
  278.           require.  Otherwise you can get into this problem:
  279.  
  280.               require Cwd;                # make Cwd:: accessible
  281.               $here = Cwd::getcwd();
  282.  
  283.               use Cwd;                    # import names from Cwd::
  284.               $here = getcwd();
  285.  
  286.               require Cwd;                # make Cwd:: accessible
  287.               $here = getcwd();           # oops! no main::getcwd()
  288.  
  289.           Perl packages may be nested inside other package names, so
  290.           we can have package names containing ::.  But if we used
  291.           that package name directly as a filename it would makes for
  292.           unwieldy or impossible filenames on some systems.
  293.           Therefore, if a module's name is, say, Text::Soundex, then
  294.           its definition is actually found in the library file
  295.           _T_e_x_t/_S_o_u_n_d_e_x._p_m.
  296.  
  297.           Perl modules always have a ._p_m file, but there may also be
  298.           dynamically linked executables or autoloaded subroutine
  299.           definitions associated with the module.  If so, these will
  300.           be entirely transparent to the user of the module.  It is
  301.           the responsibility of the ._p_m file to load (or arrange to
  302.           autoload) any additional functionality.  The POSIX module
  303.           happens to do both dynamic loading and autoloading, but the
  304.           user can just say use POSIX to get it all.
  305.  
  306.           For more information on writing extension modules, see the
  307.           _p_e_r_l_a_p_i manpage and the _p_e_r_l_g_u_t_s manpage.
  308.  
  309.      NNNNOOOOTTTTEEEE
  310.           Perl does not enforce private and public parts of its
  311.           modules as you may have been used to in other languages like
  312.           C++, Ada, or Modula-17.  Perl doesn't have an infatuation
  313.           with enforced privacy.  It would prefer that you stayed out
  314.           of its living room because you weren't invited, not because
  315.           it has a shotgun.
  316.  
  317.           The module and its user have a contract, part of which is
  318.           common law, and part of which is "written".  Part of the
  319.           common law contract is that a module doesn't pollute any
  320.           namespace it wasn't asked to.  The written contract for the
  321.           module (AKA documentation) may make other provisions.  But
  322.           then you know when you use RedefineTheWorld that you're
  323.           redefining the world and willing to take the consequences.
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 6/30/95)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))  UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000))))  PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))
  335.  
  336.  
  337.  
  338.      TTTTHHHHEEEE PPPPEEEERRRRLLLL MMMMOOOODDDDUUUULLLLEEEE LLLLIIIIBBBBRRRRAAAARRRRYYYY
  339.           A number of modules are included the the Perl distribution.
  340.           These are described below, and all end in ._p_m.  You may also
  341.           discover files in the library directory that end in either
  342.           ._p_l or ._p_h.  These are old libaries supplied so that old
  343.           programs that use them still run.  The the ._p_h files made by
  344.           hhhh2222pppphhhh will probably end up as extension modules made by hhhh2222xxxxssss.
  345.           (Some ._p_h values may already be available through the POSIX
  346.           module.)  The ppppllll2222ppppmmmm file in the distribution may help in
  347.           your conversion, but it's just a mechanical process, so is
  348.           far from bullet proof.
  349.  
  350.           PPPPrrrraaaaggggmmmmaaaattttiiiicccc MMMMoooodddduuuulllleeeessss
  351.  
  352.           They work somewhat like pragmas in that they tend to affect
  353.           the compilation of your program, and thus will usually only
  354.           work well when used within a use, or no.  These are locally
  355.           scoped, so if an inner BLOCK may countermand any of these by
  356.           saying
  357.  
  358.               no integer;
  359.               no strict 'refs';
  360.  
  361.           which lasts until the end of that BLOCK.
  362.  
  363.           The following programs are defined (and have their own
  364.           documentation).
  365.  
  366.           integer     Perl pragma to compute arithmetic in integer
  367.                       instead of double
  368.  
  369.           less        Perl pragma to request less of something from
  370.                       the compiler
  371.  
  372.           sigtrap     Perl pragma to enable stack backtrace on
  373.                       unexpected signals
  374.  
  375.           strict      Perl pragma to restrict unsafe constructs
  376.  
  377.           subs        Perl pragma to predeclare sub names
  378.  
  379.           SSSSttttaaaannnnddddaaaarrrrdddd MMMMoooodddduuuulllleeeessss
  380.  
  381.           The following modules are all expacted to behave in a well-
  382.           defined manner with respect to namespace pollution because
  383.           they use the Exporter module.  See their own documentation
  384.           for details.
  385.  
  386.           Abbrev      create an abbreviation table from a list
  387.  
  388.           AnyDBM_File provide framework for multiple DBMs
  389.  
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 6/30/95)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))  UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000))))  PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))
  401.  
  402.  
  403.  
  404.           AutoLoader  load functions only on demand
  405.  
  406.           AutoSplit   split a package for autoloading
  407.  
  408.           Basename    parse file anme and path from a specification
  409.  
  410.           Benchmark   benchmark running times of code
  411.  
  412.           Carp        warn or die of errors (from perspective of
  413.                       caller)
  414.  
  415.           CheckTree   run many filetest checks on a tree
  416.  
  417.           Collate     compare 8-bit scalar data according to the
  418.                       current locale
  419.  
  420.           Config      access Perl configuration option
  421.  
  422.           Cwd         get pathname of current working directory
  423.  
  424.           DynaLoader  Dynamically load C libraries into Perl code
  425.  
  426.           English     use nice English (or aaaawwwwkkkk) names for ugly
  427.                       punctuation variables
  428.  
  429.           Env         Perl module that imports environment variables
  430.  
  431.           Exporter    module to control namespace manipulations
  432.  
  433.           Fcntl       load the C Fcntl.h defines
  434.  
  435.           FileHandle  supply object methods for filehandles
  436.  
  437.           Find        traverse a file tree
  438.  
  439.           Finddepth   traverse a directory structure depth-first
  440.  
  441.           Getopt      basic and extended _g_e_t_o_p_t(3) processing
  442.  
  443.           MakeMaker   generate a Makefile for Perl extension
  444.  
  445.           Open2       open a process for both reading and writing
  446.  
  447.           Open3       open a process for reading, writing, and error
  448.                       handling
  449.  
  450.           POSIX       Perl interface to IEEE 1003.1 namespace
  451.  
  452.           Ping        check a host for upness
  453.  
  454.           Socket      load the C socket.h defines
  455.  
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 6/30/95)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))  UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000))))  PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))
  467.  
  468.  
  469.  
  470.           EEEExxxxtttteeeennnnssssiiiioooonnnn MMMMoooodddduuuulllleeeessss
  471.  
  472.           Extension modules are written in C (or a mix of Perl and C)
  473.           and get dynamically loaded into Perl if and when you need
  474.           them.  Supported extension modules include the Socket,
  475.           Fcntl, and POSIX modules.
  476.  
  477.           The following are popular C extension modules, which while
  478.           available at Perl 5.0 release time, do not come not bundled
  479.           (at least, not completely) due to their size, volatility, or
  480.           simply lack of time for adequate testing and configuration
  481.           across the multitude of platforms on which Perl was beta-
  482.           tested.  You are encouraged to look for them in _a_r_c_h_i_e(1L),
  483.           the Perl FAQ or Meta-FAQ, the WWW page, and even their
  484.           authors before randomly posting asking for their present
  485.           condition and disposition.  There's no guarantee that the
  486.           names or addresses below have not changed since printing,
  487.           and in fact, they probably have!
  488.  
  489.           Curses      Written by William Setzer
  490.                       <_W_i_l_l_i_a_m__S_e_t_z_e_r@_n_c_s_u._e_d_u>, while not included
  491.                       with the standard distribution, this extension
  492.                       module ports to most systems.  FTP from your
  493.                       nearest Perl archive site, or try
  494.  
  495.                               ftp://ftp.ncsu.edu/pub/math/wsetzer/cursperl5??.tar.gz
  496.  
  497.                       It is currently in alpha test, so the name and
  498.                       ftp location may change.
  499.  
  500.           DBI         This is the portable database interface written
  501.                       by <_T_i_m._B_u_n_c_e@_i_g._c_o._u_k>.  This supersedes the
  502.                       many perl4 ports for database extensions.  The
  503.                       official archive for DBperl extensions is
  504.                       _f_t_p._d_e_m_o_n._c_o._u_k:/_p_u_b/_p_e_r_l/_d_b.  This archive
  505.                       contains copies of perl4 ports for Ingres,
  506.                       Oracle, Sybase, Informix, Unify, Postgres, and
  507.                       Interbase, as well as rdb and shql and other
  508.                       non-SQL systems.
  509.  
  510.           DB_File     Fastest and most restriction-free of the DBM
  511.                       bindings, this extension module uses the popular
  512.                       Berkeley DB to _t_i_e() into your hashes.  This has
  513.                       a standardly-distributed man page and dynamic
  514.                       loading extension module, but you'll have to
  515.                       fetch the Berkeley code yourself.  See the
  516.                       _D_B__F_i_l_e manpage for where.
  517.  
  518.           Sx          This extension module is a front to the Athena
  519.                       and Xlib libraries for Perl GUI progamming,
  520.                       originally written by by Dominic Giampaolo
  521.                       <_d_b_g@_s_g_i._c_o_m>, then and rewritten for Sx by
  522.  
  523.  
  524.  
  525.      Page 8                                          (printed 6/30/95)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))  UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((RRRReeeelllleeeeaaaasssseeee 0000....0000 PPPPaaaattttcccchhhhlllleeeevvvveeeellll 00000000))))  PPPPEEEERRRRLLLLMMMMOOOODDDD((((1111))))
  533.  
  534.  
  535.  
  536.                       Frederic Chauveau <_f_m_c@_p_a_s_t_e_u_r._f_r>.  It's
  537.                       available for FTP from
  538.  
  539.                           ftp.pasteur.fr:/pub/Perl/Sx.tar.gz
  540.  
  541.  
  542.           Tk          This extension module is an object-oriented
  543.                       Perl5 binding to the popular tcl/tk X11 package.
  544.                       However, you need know no TCL to use it!  It was
  545.                       written by Malcolm Beattie
  546.                       <_m_b_e_a_t_t_i_e@_s_a_b_l_e._o_x._a_c._u_k>.  If you are unable to
  547.                       locate it using _a_r_c_h_i_e(1L) or a similar tool,
  548.                       you may try retrieving it from /_p_r_i_v_a_t_e/_T_k-
  549.                       _o_c_t_o_b_e_r._t_a_r._g_z from Malcolm's machine listed
  550.                       above.
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.      Page 9                                          (printed 6/30/95)
  592.  
  593.  
  594.  
  595.